/**
 * 
 */
package com.yidu.erp.service.stock;

import java.util.Map;

import com.yidu.common.SsmMessage;
import com.yidu.erp.model.BeyondInventory;

/**
 * 类的描述：库存的service
 * @author xym
 *
 * @date 2017年11月24日
 */
public interface StockService {
	/**
	 * 查询所有库存的方法
	 * @param inventory
	 * @return Map库存集合 
	 */
	public Map<String, Object> showAll(Map<String, Object> map);
	/**
	 * 增加或减少库存的方法
	 * @param beyondInventory 库存对象 
	 * @param symbol 符号（"+"/"-"）
	 * @return 执行结果
	 */
	public SsmMessage addOrMinus(BeyondInventory beyondInventory, String symbol);
	
	/**
	 * 显示配料库存的方法
	 * @param map 查询所需条件
	 * @return Map库存集合 
	 */
	public Map<String, Object> showAllDos(Map<String, Object> map);
	
	/**
	 * 是否有足够库存的方法
	 * @param wareId 药品的编号	
	 * @param num 药品的数量
	 * @return 一个map集合。dosList 配料的数量及数量 。state 是否足够的状态
	 * <p>dosList参数：
	 * 'dosId'配料的编号
	 * <br>
	 * 'dosName',#所需配料名称#<br>
     * 'price',#单价#<br>
     * 'wantCount',#需要配料的数量#<br>
     * 'ordNum',#原始库存#<br>
     * 'nowNum',#减去之后的库存#<br>
     * 'money',#价格#<br>
     * 'state' #状态#<br></p>
	 * <p>主要用于判断配料库存是否足够的<br> 
	 * 状态：<br>1、库存足够<br>  0、库存不足</p>
	 */
	public Map<String, Object> isEnough(String wareId,int num);
	
}
